////////////////////////////////////////////////////////////////////////////////
// Filename: Keyboard.cpp
////////////////////////////////////////////////////////////////////////////////
#include "Keyboard.h"
#include <stdlib.h>

Keyboard* Keyboard::mInstance = NULL;

Keyboard::Keyboard()
{
}


Keyboard::Keyboard(const Keyboard& other)
{
}


Keyboard::~Keyboard()
{
}


Keyboard* Keyboard::Instance()
{
	if(mInstance == NULL)
	{
		mInstance = new Keyboard();
	}
	return mInstance;
}

void Keyboard::Initialize()
{
	int i;
	

	// Initialize all the keys to being released and not pressed.
	for(i=0; i<256; i++)
	{
		m_keys[i] = false;
	}

	return;
}


void Keyboard::KeyDown(unsigned int input)
{
	// If a key is pressed then save that state in the key array.
	m_keys[input] = true;
	return;
}


void Keyboard::KeyUp(unsigned int input)
{
	// If a key is released then clear that state in the key array.
	m_keys[input] = false;
	return;
}


bool Keyboard::IsKeyDown(unsigned int key)
{
	// Return what state the key is in (pressed/not pressed).
	return m_keys[key];
}